$(function () {
    console.log("作者：贾壮\n" +
        "联系方式：qq1435758824@163.com");
})
/**
 * 物品库存信息查询
 * @type {Object}
 */

$(function () {
    page(1,5);
})
let pageBean=new Object();
function page(num,size) {
    if (size != null) {
        pageBean.pageSize=size;//每页显示行数
    }
    if (num<=1){
        pageBean.pageNo=1;
    }else {
        if (num>=Number($("#count").text())){
            pageBean.pageNo=Number($("#count").text());
        }else{
            pageBean.pageNo=num;
        }
    }
    pageBean.factor=[];//查询语句
    if ($("#goodsName").val()!=""){
        pageBean.factor.push(" g.name like '%"+$("#goodsName").val()+"%' ");
    }
    if ($("#categoryName").val()!=""){
        pageBean.factor.push(" c.name like '%"+$("#categoryName").val()+"%'")
    }
    pageBean.data=[];
    $.ajax({
        type:"post",
        url:"/goodsController/findGoodsStock",
        data:pageBean,
        success:function (data) {
            $("#tb").empty();
            let tr="";
            $("#page").empty();
            let pageBtn="<li><a  aria-label=\"Previous\" onclick=\"page(pageBean.pageNo-1,pageBean.pageSize)\"><span aria-hidden=\"true\">&laquo;</span></a></li>";
            for (let i = 0; i < data.totalPage; i++) {
                pageBtn+="<li><a onclick=\"page(this.innerText,pageBean.pageSize)\">"+(i+1)+"</a></li>"
            }
            pageBtn+="<li ><a  aria-label=\"Next\" onclick=\"page(Number(pageBean.pageNo)+1,pageBean.pageSize)\"><span aria-hidden=\"true\">&raquo;</span></a></li>";
            $("#page").html(pageBtn);
            if (data.data!=null){
                for (let i = 0; i < data.data.length; i++) {
                    let code="";
                    let state="";
                    if ( data.data[i].numstatus==1){
                        code="<input type='checkbox' onclick='cascade()' name='check'>";
                        state="<input type='button' class='btn btn-danger btn-sm' value='待采购'>";
                    }else if (data.data[i].numstatus==0){
                        state="<input type='button' class='btn btn-primary btn-sm' value='库存够'>";
                    }else {
                        state="<input type='button' class='btn btn-warning btn-sm' value='采购中'>";
                    }
                    tr+="<tr>" +
                        "<td>"+code+"</td>" +
                        "<td>"+data.data[i].goodsId+"</td>" +
                        "<td>"+data.data[i].name1+"</td>" +
                        "<td>"+data.data[i].supplieName+"</td>" +
                        "<td>"+data.data[i].price+"</td>" +
                        "<td>"+data.data[i].purprc+"</td>" +
                        "<td>"+data.data[i].name+"</td>" +
                        "<td>"+data.data[i].code+"</td>" +
                        "<td>"+state+"</td>" +
                        "</tr>";
                }
                $("#page li:contains("+data.pageNo+")").addClass("active");
            }


            if (data.totalPage==0){
                $("#start").html(0);
                $("#tb").html(tr);
                $("#num").html(data.pageNo);
                $("#count").html(data.totalPage);
                $("#pageCount").html(data.pageSize);
                $("#end").html(0);
            }else{
                $("#tb").html(tr);
                $("#num").html(data.pageNo);
                $("#count").html(data.totalPage);
                $("#pageCount").html(data.pageSize);
                $("#start").html(data.startIndex+1);
                $("#end").html(data.startIndex+data.data.length);
            }

        },
        dataType:"json"
    })

}

/**
 * 商品名称和商品类型获取
 */

$(function () {
    $.ajax({
        type:"post",
        url:"/goodsController/findName",
        success:function (data) {
            let opt="";
            for (let i = 0; i < data.length; i++) {
                opt=$("<option value='"+data[i].name+"'>"+data[i].name+"</option>");
                $("#goodsName").append(opt);
            }
        },
        dataType:"json"
    })

    $.ajax({
        type:"post",
        url:"/categoryController/findName",
        success:function (data) {
            let opt="";
            for (let i = 0; i < data.length; i++) {
                opt=$("<option value='"+data[i].name+"'>"+data[i].name+"</option>");
                $("#categoryName").append(opt);
            }
        },
        dataType:"json"
    })

    /**
     * 订单号获取
     */
    $.ajax({
        type:"post",
        url:"/storageServlet/findStorageId",
        success:function (data) {
            $("#storageId").val(data+1)
        },
        dataType:'json'
    })
})


/**
 * 采购模态框的信息获取
 *
 */

// function purchase() {
//     console.log(123)
//     $("#countPrice").val(0);
    // $.ajax({
    //     type:"post",
    //     url:"/storageServlet/findStorageId",
    //     success:function (data) {
    //         $("#storageId").val(parseFloat(data)+1)
    //     },
    //     dataType:"json"
    //
    // })
    // let td=$(a).parent().parent().children("td");
    // $("#goodsId").val(td[0].innerHTML);
    // $("#name").val(td[1].innerHTML);
    // $("#supplieName").val(td[2].innerHTML);
    // $("#purprc").val(td[4].innerHTML);
    // $("#categoryId").val(td[5].innerHTML);
    // $("#code").val("")
    // $("#momo").val("")
    // document.getElementById('d1').className="form-group input-group col-md-11  ";
// }



/**
 * 入库
 */
// function storage() {
//     if (f==-1){
//         toastr.error("采购数量过少");
//     }else {
//         $("#myModal").modal("hide");
//         let storage=new Object();
//         $.ajax({
//             type:"post",
//             url:"/categoryController/findID",
//             async:false,
//             data:{name:$("#categoryId").val()},
//             success:function (data) {
//                 storage.goodsTypeId=data;
//             },
//             dataType:"json"
//         })
//
//         storage.storageId=$("#storageId").val();//入库单号
//         storage.goodsId=$("#goodsId").val();//商品编号
//         storage.goodsPrice=$("#purprc").val();//进价
//         storage.goodsCount=$("#code").val();//数量
//         storage.staffId=$("#staffId").val();
//         storage.momo=$("#momo").val();
//         console.log(storage);
//         $.ajax({
//             type:"post",
//             url:"/storageServlet/addStorage",
//             data:storage,
//             success:function (data) {
//                 if (data>0){
//                     toastr.success("采购成功");
//                 }else {
//                     toastr.error("采购失败");
//                 }
//             },
//             dataType:"json"
//         })
//     }
// }

/**
 * 级联
 */
$(function () {
    $("#host").click(function () {
        let flag = this.checked;
        $('[name="check"]').each(function () {
            this.checked=flag;
        })
    })
})
function cascade() {
    let check = $('[name="check"]');
    let flag = false;
    for (let i = 0; i < check.length; i++) {
        if(check[i].checked==false){
            $('#host').get(0).checked=flag;
            return;
        }else{
            if(i==check.length-1){
                flag=true;
            }
        }
    }
    $('#host').get(0).checked=flag;
}

function purchase() {
    $("#countPrice").val(0);
    let check=$("#tb [type='checkbox']:checked").parent().parent();
    $("#tb1").empty();
    let tr="";
    for (let i = 0; i < check.length; i++) {
        tr+="<tr>" +
            "<td>"+$(check[i]).children("td")[1].innerText+"</td>" +
            "<td>"+$(check[i]).children("td")[2].innerText+"</td>" +
            "<td>"+$(check[i]).children("td")[3].innerText+"</td>" +
            "<td>"+$(check[i]).children("td")[5].innerText+"</td>" +
            "<td><input type='text'  class='price' onblur='numVerify(this)' onkeyup=\"this.value=this.value.replace(/\\D/g,'')\"></td>" +
            "</tr>";
    }
    $("#tb1").html(tr);
}

let price=0;
/**
 * 数量验证
 */
function numVerify(a) {
    if ($(a).val()<50){
        toastr.error("采购数量最少50");
        sumPrice();
        $("#countPrice").val(price)
     }else {
        // price = 0;
        // $("#tb1").children("tr").each(function () {
        //     price += Number($($(this).children("td")[4]).children("input").val()) * parseFloat($(this).children("td")[3].innerText);
        // })
        sumPrice();
        $("#countPrice").val(price)
    }
}

/**
 * 总价计算
 */
function sumPrice() {
    price=0;
    $(".price").each(function () {
        if ($(this).val()==""){

        }else{
            price+=Number($(this).val())*parseFloat($(this).parent().parent().children("td")[3].innerText);
        }
    })
}
function sx() {
    page(1,5);
}

/**
 * 采购订单确认按钮的验证
 */
function purchaseSubmit() {
    let flag=1;
    let tr=$("#tb1").children();
    if (tr.length==0){
        toastr.error("没有可采购的");
    }else{
        for (let i = 0; i < tr.length; i++) {
            let td=$(tr[i]).children("td");
            let inputVal=$($(td[4]).children("input")).val();
            if (inputVal<50){
                flag=-1;
            }
        }
        if (flag==1){
            /**
             * 采购订单
             */
            let flag1=1;
            let storage=new Object();
            storage.storageId=$("#storageId").val();
            storage.staffId=$("#staffId").val();
            storage.price=$("#countPrice").val();
            /**
             *采购单提交
             */
                $.ajax({
                    type:"post",
                    url:"/storageServlet/insertStorage",
                    data:storage,
                    success:function (data) {
                        if (data.size>0){

                        }else {
                            flag1=-1;
                        }
                    },
                    dataType:"json"
                })

            let tr=$("#tb1").children();
            for (let i = 0; i < tr.length; i++) {
                let td=$(tr[i]).children("td");
                let storageinfo=new Object();
                storageinfo.storageId=$("#storageId").val();
                storageinfo.goodsId=td[0].innerText;
                storageinfo.goodsPrice=td[3].innerText;
                storageinfo.goodsCount=$(td[4]).children("input").val();

                /**
                 * 采购订单中商品提交
                 */
                $.ajax({
                    type:"post",
                    url:"/storgaeinfoServlet/insertStorageinfo",
                    data:storageinfo,
                    success:function (data) {
                        if (data.size>0){

                        }else {
                            flag1=-1;
                        }
                    },
                    dataType:"json"
                })
                /**
                 * 商品数量状态改变
                 * @type {string|string}
                 */
                let goodsId=td[0].innerText;
                $.ajax({
                    type:"post",
                    url:"/goodsController/updateNumstatus",
                    data: {goodsId:goodsId},
                    success:function (data) {
                        if (data.size>0){
                        }else {
                            flag1=-1;
                        }
                    }

                })

            }
            if (flag1==1){
                $("#myModal").modal("hide");
                toastr.success("下单成功");
                window.location.href="/warehouse/goodsStock.jsp"; 
            }else{
                toastr.error("下单失败");
            }

        }else {
            toastr.error("采购数量最少50");
        }

    }
}
/**
 * 采购单详情信息查询
 * @param num
 * @param size
 */
function detailsPage(num,size) {
    if (size != null) {
        pageBean.pageSize=size;//每页显示行数
    }
    if (num<=1){
        pageBean.pageNo=1;
    }else {
        if (num>$("#count1").text()){
            pageBean.pageNo=$("#count1").text();
        }else{
            pageBean.pageNo=num;
        }
    }
    $.ajax({
        type: "post",
        url: "/storgaeinfoServlet/findAllStorageinfo",
        data: pageBean,
        success: function (data) {
            console.log(data);
            $("#tb2").empty();
            let tr="";
            $("#page1").empty();
            let pageBtn="<li><a  aria-label=\"Previous\" onclick=\"detailsPage(pageBean.pageNo-1,pageBean.pageSize)\"><span aria-hidden=\"true\">&laquo;</span></a></li>";
            for (let i = 0; i < data.totalPage; i++) {
                pageBtn+="<li><a onclick=\"detailsPage(this.innerText,pageBean.pageSize)\">"+(i+1)+"</a></li>"
            }
            pageBtn+="<li ><a  aria-label=\"Next\" onclick=\"detailsPage(pageBean.pageNo+1,pageBean.pageSize)\"><span aria-hidden=\"true\">&raquo;</span></a></li>";
            $("#page1").html(pageBtn);

            for (let i = 0; i < data.data.length; i++) {
                let state="";
                if (data.data[i].status==3){
                    state="<input type='button' class='btn btn-danger btn-sm' value='审核未通过'>";
                }else  if(data.data[i].status==0){
                    state="<input type='button' class='btn btn-info btn-sm' value='审核中'>";
                }else  if(data.data[i].status==1){
                    state="<input type='button' class='btn btn-primary btn-sm' value='采购中'>";
                }else {
                    state="<input type='button' class='btn btn-success btn-sm' value='采购完成'>";
                }
                let momo="";
                if (data.data[i].momo==null){
                    momo="";
                }else{
                    momo=data.data[i].momo;
                }
                tr+="<tr>" +
                    "<td>"+data.data[i].storageId+"</td>" +
                    "<td>"+data.data[i].staffName+"</td>" +
                    "<td>"+data.data[i].createTime+"</td>" +
                    "<td>"+data.data[i].price+"</td>" +
                    "<td>"+state+"</td>" +
                    "<td>"+momo+"</td>" +
                    "</tr>"
            }
            $("#page1 li:contains("+data.pageNo+")").addClass("active");

            if (data.totalPage==0){
                $("#start1").html(0);
                $("#tb2").html(tr);
                $("#num1").html(data.pageNo);
                $("#count1").html(data.totalPage);
                $("#pageCount1").html(data.pageSize);
                $("#end1").html(data.startIndex+data.data.length);
            }else{
                $("#tb2").html(tr);
                $("#num1").html(data.pageNo);
                $("#count1").html(data.totalPage);
                $("#pageCount1").html(data.pageSize);
                $("#start1").html(data.startIndex+1);
                $("#end1").html(data.startIndex+data.data.length);
            }
        },
        dataType: "json"
    })
}